#!/bin/bash
# Matriisin muodostaminen tiedoston ipv4-osoitteista: # tiedoston nimenä on tässä: 2
IFS=$'\n' 
matriisiosoitteista=($(grep -Po '.*?\b(([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b' \
<<< $(cat 2 | tr -d '\n'))); unset IFS #; echo -e ${matriisiosoitteista[*]/%/\\n}

# Matriisin jäsenien tulostaminen rajoittaen jäsenen pituus niin että rajoitetaan siinä olevan ipv4-osoitteen kuvaus yhteen lauseeseen 
# (siis kuvauksen ipv4-osoittetta edeltävään pisteeseen):
for (( n=0; n<=${#matriisiosoitteista[@]}; n++ )); do
  jasen=${matriisiosoitteista[$n]}; pisteita=0; for (( pisteenpaikka=${#jasen}; pisteenpaikka>1; pisteenpaikka-- )) ; do 
  [[ ${jasen:$pisteenpaikka:1} = \. ]] && (( pisteita++ )); [[ $pisteita = 4 ]] && break; done; echo ${jasen:$pisteenpaikka}
done
